A Proof Method Language for Isabelle
نویسندگان
چکیده
Machine-checked proofs are becoming ever-larger, presenting an increasing maintenance challenge. Isabelle’s most popular language interface, Isar, is attractive for new users, and powerful in the hands of experts, but has previously lacked a means to write automated proof procedures. This can lead to undesirable duplication in large proofs. In this paper we present Eisbach, a proof method language for Isabelle, which aims to fill this gap by incorporating Isar language elements, thus making it accessible to end-users. We describe the language and the design principles on which it was developed. We evaluate its effectiveness by implementing the most-widely used proof tools in the seL4 verification stack, and consider its strengths and limitations.
منابع مشابه
A TLA+ Proof System
We describe an extension to the TLA specification language with constructs for writing proofs and a proof environment, called the Proof Manager (PM), to checks those proofs. The language and the PM support the incremental development and checking of hierarchically structured proofs. The PM translates a proof into a set of independent proof obligations and calls upon a collection of back-end pro...
متن کاملAn Isabelle Proof Method Language
Machine-checked proofs are becoming ever-larger, presenting an increasing maintenance challenge. Isabelle’s most popular language interface, Isar, is attractive for new users, and powerful in the hands of experts, but has previously lacked a means to write automated proof procedures. This can lead to more duplication in large proofs than is acceptable. In this paper we present Eisbach, a proof ...
متن کاملProof-Producing Program Analysis
Proof-producing program analysis augments the invariants inferred by an abstract interpreter with their correctness proofs. If these invariants are precise enough to guarantee safety, this method is an automatic verification tool. We present proof-synthesis algorithms for a simple flow chart language and domains V → V mapping variables to abstract values and discuss some benefits for proof carr...
متن کاملGenerating Cases from Labeled Subgoals
Isabelle/Isar provides named cases to structure proofs. This article contains an implementation of a proof method casify, which can be used to easily extend proof tools with support for named cases. Such a proof tool must produce labeled subgoals, which are then interpreted by casify. As examples, this work contains verification condition generators producing named cases for three languages: Th...
متن کاملAnnotation Issues in Isabelle
Mechanized proof tools have not been eagerly adopted by the potential user community. This lack of penetration is sometimes attributed to the fact that the employment of theorem provers for formal verification is often thought to be a difficult and involved task. As a consequence, many researchers are addressing the issue of usability, and are working towards straightforward and effective ways ...
متن کامل